//-----------------------------------------------------------------//
// Name        | SC2_SDKAddendum.h           | Type: ( ) source    //
//-------------------------------------------|       (*) header    //
// Project     | PCO                         |       ( ) others    //
//-----------------------------------------------------------------//
// Platform    | PC                                                //
//-----------------------------------------------------------------//
// Environment | Visual 'C++'                                      //
//-----------------------------------------------------------------//
// Purpose     | PCO - SC2 Camera DLL Functions                    //
//-----------------------------------------------------------------//
// Author      | MBL, PCO AG                                       //
//-----------------------------------------------------------------//
// Revision    |  rev. 1.05 rel. 1.05                              //
//-----------------------------------------------------------------//

//-----------------------------------------------------------------//
// Notes       |                                                   //
//-----------------------------------------------------------------//
// (c) 2002 PCO AG * Donaupark 11 *                                //
// D-93309      Kelheim / Germany * Phone: +49 (0)9441 / 2005-0 *  //
// Fax: +49 (0)9441 / 2005-20 * Email: info@pco.de                 //
//-----------------------------------------------------------------//


//-----------------------------------------------------------------//
// Revision History:                                               //
//-----------------------------------------------------------------//
// Rev.:     | Date:      | Changed:                               //
// --------- | ---------- | ---------------------------------------//
//  1.02     | 04.05.2004 | new file added to SDK, FRE, MBL        //
//           |            |                                        //
//-----------------------------------------------------------------//
//  1.04     | 16.06.2005 | some defines MBL                       //
//           |            |                                        //
//-----------------------------------------------------------------//
//  1.05     | 27.02.2006 |  Added PCO_GetCameraName, FRE          //
//-----------------------------------------------------------------//

#if !defined SC2_SDKADDENDUM_H

typedef struct _PCO1394_ISO_PARAMS {
   unsigned int bandwidth_bytes;         // 0...4096; recommended: 2000 (default 4096)
   unsigned int speed_of_isotransfer;    // 1,2,4; recommended: 4 (default 4)
   unsigned int number_of_isochannel;    // -1...7; -1 automatic search, 0...7 manual selection
   unsigned int number_of_iso_buffers;   // 16...256; recommended: 128 (default 128)
   unsigned int byte_per_isoframe;       // 0...4096; recommended: 2000 (default 4096)
}PCO1394_ISO_PARAM;

#define PCO_1394_AUTO_CHANNEL   0x200
#define PCO_1394_HOLD_CHANNEL   0x100

#define PCO_1394_DEFAULT_BANDWIDTH 4096
#define PCO_1394_DEFAULT_SPEED 4
#define PCO_1394_DEFAULT_CHANNEL 0x00
#define PCO_1394_DEFAULT_ISOBUFFER 128
#define PCO_1394_DEFAULT_ISOFARME_BYTE 4096


typedef struct _PCO_SC2_CL_TRANSFER_PARAMS {
   unsigned int   baudrate;              // serial baudrate: 9600, 19200, 38400
   unsigned int   ClockFrequency;        // Pixelclock in Hz: 40000000,66000000,80000000
   unsigned int   CCline;    // Usage of CameraLink CC1-CC4 lines, use value returned by Get 
   unsigned int   DataFormat;// register with Testpattern and Datasplitter switch, use value retunred by Get
   unsigned int   Transmit;  // single or continuous transmitting images, 0-single, 1-continuous
}PCO_SC2_CL_TRANSFER_PARAM;

#define PCO_CL_DEFAULT_BAUDRATE 9600
#define PCO_CL_PIXELCLOCK_40MHZ 40000000
#define PCO_CL_PIXELCLOCK_66MHZ 66000000
#define PCO_CL_PIXELCLOCK_80MHZ 80000000
#define PCO_CL_PIXELCLOCK_32MHZ 32000000
#define PCO_CL_PIXELCLOCK_64MHZ 64000000
#define PCO_CL_DATAFORMAT_1x16 1
#define PCO_CL_DATAFORMAT_2x12 2
#define PCO_CL_TRANSMIT_ENABLE  0x01
#define PCO_CL_TRANSMIT_LONGGAP 0x02


//loglevels for interface dll
#define ERROR_M     0x0001
#define INIT_M      0x0002
#define BUFFER_M    0x0004
#define PROCESS_M   0x0008

#define COC_M       0x0010
#define INFO_M      0x0020
#define COMMAND_M   0x0040

#define PCI_M       0x0020

#define TIME_M      0x1000 
#define TIME_MD     0x2000 
 
#endif
